/**
 * 非法多媒体统计表
 * @author rxliuli
 */
class RIllegalMedia {
    /**
     * 构造函数
     * @param {Object} [option] 可选参数
     * @param {Number} id 主键
     * @param {Number} totalCount 总数量
     * @param {Number} unDealCount 未处置数量
     * @param {Number} dealtCount 已处置数量
     * @param {Number} trustCount 信任数量
     * @param {Number} belongYear 所属年，例如：2019
     * @param {...Object} [option.args] 其他参数
     */
    constructor({
                    id,
                    totalCount,
                    unDealCount,
                    dealtCount,
                    trustCount,
                    belongYear,
                    ...args
                } = {}) {
        this.id = id
        this.totalCount = totalCount
        this.unDealCount = unDealCount
        this.dealtCount = dealtCount
        this.trustCount = trustCount
        this.belongYear = belongYear
        Object.assign(this, args)
    }
}

/**
 * 非法多媒体统计表-月报
 * @author rxliuli
 */
class RIllegalMediaMon extends RIllegalMedia {
    /**
     * 构造函数
     * @param {Object} [option] 可选参数
     * @param {Number} month 统计月份，例如：1
     * @param {...Object} [option.args] 其他参数
     */
    constructor({
                    month,
                    ...args
                } = {}) {
        super(args)
        this.month = month
        Object.assign(this, args)
    }
}

/**
 * 非法多媒体统计表-周报
 * @author rxliuli
 */
class RIllegalMediaWeek extends RIllegalMedia {
    /**
     * 构造函数
     * @param {Object} [option] 可选参数
     * @param {Number} week 统计月份，例如：1
     * @param {...Object} [option.args] 其他参数
     */
    constructor({
                    week,
                    ...args
                } = {}) {
        super(args)
        this.week = week
        Object.assign(this, args)
    }
}

/**
 * 非法多媒体统计表-周报
 * @author rxliuli
 */
class RIllegalMediaDay extends RIllegalMedia {
    /**
     * 构造函数
     * @param {Object} [option] 可选参数
     * @param {Number} day 统计日，例如：1
     * @param {String} belongMonth 所属年，例如：2019-01
     * @param {...Object} [option.args] 其他参数
     */
    constructor({
                    day,
                    belongMonth,
                    ...args
                } = {}) {
        super(args)
        this.day = day
        this.belongMonth = belongMonth
        Object.assign(this, args)
    }
}